package com.syf.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.syf.cmd.SelByIDCmd;
import com.syf.cmd.SoftwareReleaseCmd;
import com.syf.domain.store.BsSoftwareRelease;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
*
*
*@author syf
*@create 2022-02-07 19:09
*/
public interface BsSoftwareReleaseService extends IService<BsSoftwareRelease>{

    /**
     * 根据软件厂商ID 查询软件
     * @return
     */
    List<BsSoftwareRelease> selectSoftwareByCompanyId(Integer id);

    /**
     * 分页条件查询--应用(/发布表)列表
     * @return
     */
    Page<BsSoftwareRelease> findByPage(SoftwareReleaseCmd softwareReleaseCmd);

    /**
     * 检测该软件是否已经存在
     * @return
     */
    boolean checkExist(String softwareSign);

    /**
     * 根据softwareCode查询应用
     * @param softwareCode
     * @return
     */
    BsSoftwareRelease selBycode(String softwareCode);

    /**
     * 根据softwareCode查询应用
     * @return
     */
    BsSoftwareRelease selBySign(String softwareSign);

    /**
     * 前台--查询编辑推荐软件
     * @return
     */
    List<BsSoftwareRelease> recommendList();

    /**
     * 前台--查询 新软推荐应用
     * @return
     */
    List<BsSoftwareRelease> newSoftList();

    /**
     * 查询 热门软件排行榜--应用列表
     * @return
     */
    List<BsSoftwareRelease> hotrRankingList();

    /**
     * 应用下载--发送MQ异步队列增加下载次数
     * @return
     */
    boolean downloadSoftMQ(SelByIDCmd selByIDCmd);
}
